This invention relates to an improved Internet Protocol (IP) based mobile communications system having static agents (such as a Home Agent and a Foreign Agent) and mobility agents (such as Mobile Foreign Agents and Mobile Nodes), as well as an improved method for operating said system.
Present-day Internet communications represent the synthesis of technical developments begun in the 1960sxe2x80x94the development of a system to support communications between different United States military computer networks, and the subsequent development of a system to support the communication between research computer networks at United States universities. These technological developments would subsequently revolutionize the world of computing.
The Internet, like so many other high tech developments, grew from research originally performed by the United States Department of Defense. In the 1960s, Defense Department officials began to notice that the military was accumulating a large collection of computersxe2x80x94some of which were connected to large open computer networks and others that were connected to smaller closed computer networks. A network is a collection of computers or computer-like devices communicating across a common transmission medium. Computers on the Defense Department""s open computer networks, however, could not communicate with the other military computers on the closed systems.
Defense Department officials requested that a system be built to permit communication between these different computer networks. The Defense Department recognized, however, that a single centralized system would be vulnerable to missile attacks or sabotage. Accordingly, the Defense Department mandated that the system to be used for communication between these military computer networks be decentralized and that no critical services be concentrated in a few, vulnerable failure points. In order to achieve these goals, the Defense Department established a decentralized standard protocol for communication between network computers.
A few years later, the National Science Foundation (NSF) wanted to connect network computers at various research institutions across the country. The NSF adopted the Defense Department""s protocol for communication, and this combination of research computer networks would eventually evolve into the Internet.
Internet Protocols
The Defense Department""s communication protocol governing data transmission between computers on different networks was called the Internet Protocol (IP) standard. The IP standard now supports communications between computers and networks on the Internet. The IP standard identifies the types of services to be provided to users, and specifies the mechanisms needed to support these services. The IP standard also describes the upper and lower system interfaces, defines the services to be provided on these interfaces, and outlines the execution environment for services needed in the system.
A transmission protocol, called the Transmission Control Protocol (TCP), was also developed to provide connection-oriented, end-to-end data transmission between packet-switched computer networks. The combination of TCP with IP (TCP/IP) forms a system or suite of protocols for data transfer and communication between computers on the Internet. The TCP/IP standard has become mandatory for use in all packet switching networks that connect or have the potential for utilizing connectivity across network or sub-network boundaries.
The TCP/IP Protocol
In a typical Internet-based communication scenario, data is transmitted from an applications program in a first computer, through the first computer""s network hardware, and across the transmission medium to the intended destination on the Internet. After receipt at a destination computer network, the data is transmitted through the destination network to a second computer. The second computer then interprets the communication using the identical protocols on a similar application program. Because of the standard protocols used in Internet communications, the TCP/IP protocol on the second computer should decode the transmitted information into the original data transmitted by the first computer.
The TCP/IP Protocol Layers
One of the rules in TCP/IP communications is that a computer user does not need to get involved with details of data communication. In order to accomplish this goal, the TCP/IP standard imposes a layered communications system structure. All the layers are located on each computer in the network, and each module or layer is a separate component that theoretically functions independent of the other layers.
TCP/IP and its related protocols form a standardized system for defining how data should be processed, transmitted and received on the Internet. TCP/IP defines the network communication process, and more importantly, defines how a unit of data should look and what information the message should contain so that the receiving computer can interpret the message correctly. Because the standardized layer design of TCP/IP, a consistent conversion of base data is ensured regardless of the version or vendor of the TCP/IP conversion software.
When a first computer transmits a data message to a second computer on the Internetxe2x80x94either sending a message or requesting informationxe2x80x94the TCP/IP Protocol Layers in the first computer prepare the base data for transmission to a second computer by adding additional information to the base data. New pieces of information are added to the base data as the base data descends through each layer in the protocol. After processing, the base data with various headers will form a fully structured information packet under the TCP/IP protocol. The information packet will include header information that identifies the source of the information packet and its intended destination.
After the base data has been processed by all the layers in the protocol, it is ready for transmission across the Internet to the destination computer. After receipt of the information packet, the second computer operates on the information packet using the same set of TCP/IP protocol layersxe2x80x94only in reverse order. As the transmitted information packet ascends through the protocol layers in the second computer, each protocol level strips away the information added by the first computer to ultimately leave the base data in the applications program of the second computer.
TCP/IP Addressing and Routing
A computer operating on a network is assigned a unique physical address. On a Local Area Network (xe2x80x9cLANxe2x80x9d), the physical address of the computer is a number given to computer""s network adapter card. Hardware LAN protocols use this physical address to deliver packets of data to computers on the LAN.
On the Internet, the TCP/IP protocol routes data packets using logical addressing. The network software in the Network Layer generates logical addresses. Specifically, a logical address in the TCP/IP network is translated into a corresponding physical address using the ARP (Address Resolution Protocol) and RARP (Reverse Address Resolution Protocol) protocols in the Network Layer.
The TCP/IP""s logical address is also called an IP address. The IP address can include: (1) a network ID number identifying a network, (2) a sub-network ID number identifying a sub-network on the network, and, (3) a host ID number identifying a particular computer on the sub-network. The header data in the information packet will include source and destination addresses. The IP addressing scheme imposes a sensible addressing scheme that reflects the internal organization of the network or sub-network.
A computer network is often subdivided into smaller sub-networks. The computer network is divided in this manner to increase data transmission efficiency and reduce overall network traffic. Routers are used to regulate the flow of data into and out of designated sub-networks of the computer network.
A router interprets the logical address information of a data packet, such as an IP address, and directs the data packet across the network to its intended destination. Data addressed between computers on the sub-network does not pass through the router to the greater network, and therefore does not clutter the transmission lines of the greater network. If data is addressed to a computer outside the sub-network, however, the router forwards the data onto the larger network.
The TCP/IP network includes protocols that define how routers will determine the path for data through the network. Routing decisions are based upon information in the IP packet header and entries in each router""s routing table. A routing table possesses sufficient information for a router to make a determination on whether to accept the communicated information on behalf of a destination computer, or pass the information onto another router in the network. The routing table also permits the router to determine where the information should be forwarded within the network or sub-network.
The routing table can be configured manually with routing table entries or a dynamic routing protocol that can accommodate changing network topologiesxe2x80x94network architecture or network layouts, routers, and interconnections between hosts and routers. In a dynamic routing protocol, a router advertises reachability when it sends updated routing information to a second router claiming that the first router is capable of reaching one or more destination addresses. Advertising accessibility is important to the process of receiving, directing and re-directing data packets on the Internet.
Internet protocols were originally developed with an assumption that Internet users, which are assigned a unique IP address, would be connected to a single, fixed networkxe2x80x94that is, one physical fixed location. With the advent of portable and handheld computers, however, the movement of Internet users within a network and across network boundaries has become quite common. Because of this highly mobile Internet usage, the implicit design assumptions for the Internet protocols have been violated.
The present invention relates to an improved IP-based mobile system defined by an apparatus and method for managing bi-directional transmission of information with at least one Mobile Node in a wireless communication system. The term xe2x80x9cMobile Nodexe2x80x9d includes a mobile communication unit, and, in addition to the Mobile Node, the communication system has a home network, a foreign network, and at least one mobile foreign network. The Mobile Node may change its point of attachment to the Internet through these other networks, but the Mobile Node will always be associated with a single Mobile Node home network for IP addressing purposes. For the purposes of this application, a network includes a separate computer network or sub-network on a wireless communication system.
The Mobile Node home network has a Home Agent and the foreign network has a Foreign Agentxe2x80x94both of which control the routing of packeted information into and out of their network. The mobile foreign network also has a Mobile Foreign Agent to assist with routing of packeted information into and out of the mobile network. Like the Mobile Node, the Mobile Foreign Agent may change its point of attachment to the Internet through other networks, but the Mobile Foreign Agent will always be associated with a single Mobile Foreign Agent home network for IP addressing purposes.
The terms Home Agent, Foreign Agent, and Mobile Foreign Agent may be defined in the Mobile IP Protocol (RFC 2002), but these agents are not restricted to a single protocol or system. In fact, the term Home Agent, as used in this application, can refer to a Home Mobility Manager, Home Location Register, Home Serving Entity, or any other agent at a home network having the responsibility to manage mobility-related functionality for a Mobile Node on a home network. Likewise, the term Foreign Agent, as used in this application, can refer to a Serving Mobility Manager, Visited Location Register, Visiting Serving Entity, or any other agent on a foreign network having the responsibility to manage mobility-related functionality for a Mobile Node on a foreign network.
Care-Of Addressing For Mobile Nodes
An IP-based mobile system controls mobile communication by managing the xe2x80x9ccare-ofxe2x80x9d address assignments. A Mobile Node Home Agent comprises a router with an interface on the Mobile Node""s home network. When the Mobile Node is located on the home network, packeted information may be directed to the Mobile Node by the Mobile Node Home Agent through a direct communication link.
When the Mobile Node moves to a foreign network or mobile foreign network, the Mobile Node keeps the Mobile Node Home Agent informed of its current location by registering a care-of address with the Mobile Node Home Agent. This care-of address represents the current foreign network or mobile foreign network where the Mobile Node is located. For a Mobile Node, the care-of address is used to re-route all packeted information destined for a Mobile Node to the foreign network or mobile foreign networks associated with the Mobile Node.
Care-Of Addressing For Mobile Foreign Networks
Each Mobile Foreign Agent has a MFA Home Agent on an MFA home network. When the Mobile Foreign Agent is attached to the MFA home network, all packeted information directed to nodes attached to the Mobile Foreign Agent will be sent to the MFA home network for routing directly to the Mobile Foreign Agent.
Like the Mobile Node, however, each Mobile Foreign Agent can move from one network attachment to another. When not located at the MFA home network, the Mobile Foreign Agent will have a care-of address identifying the foreign network or other mobile foreign network where the Mobile Foreign Agent is located. The Mobile Foreign Agent will register this care-of address with it MFA home network to keep the home network aware of its current location. The care-of address is used to re-route all packeted information destined for the Mobile Foreign Agent to the appropriate foreign network or other mobile foreign network associated with the addressed Mobile Foreign Agent.
When a Correspondent Node communicates to a Mobile Node associated with a Mobile Foreign Agent and the Mobile Foreign Agent is located outside the MFA home network, the information packet from the Correspondent Node will initially be sent to the Home Agent (due to the IP routing mechanism) of the Mobile Node. This Mobile Node Home Agent will re-route (or xe2x80x9ctunnelxe2x80x9d) the information packet to the care-of address of the Mobile Foreign Agent. Through normal IP routing, the information packet will eventually end up at the MFA Home Agent. The MFA Home Agent then uses the care-of address to direct (or xe2x80x9ctunnelxe2x80x9d) information packets to the Mobile Foreign Agent. The Mobile Foreign Agent then de-tunnels the packet and forwards it to the Mobile Node. While the present invention can operate under the Mobile IP protocol (RFC 2002), the invention is not limited to this protocol and can be used with any IP-based mobile system having mobility agents.
Tunneling and Encapsulation
If the Mobile Node is coupled to a foreign network, the Home Agent will xe2x80x9ctunnelxe2x80x9d communications to the Mobile Node. When xe2x80x9ctunnelingxe2x80x9d a communication, the Home Agent receives an information packet addressed to the Mobile Node, and the Home Agent will tunnel, or transfer, these data packets to the Mobile Node""s current location on its then associated foreign network or mobile foreign network. Under standard protocols, the Home Agent will encapsulate the data packet with at least source/destination information in an additional header to assist in the tunneling process.
If the Mobile Node is attached to a Mobile Foreign Agent, the tunneling operation will require that the information packet be sent from the Mobile Node""s Home Agent to the home network of the Mobile Foreign Agent (MFA home network). The MFA Home Agent on the MFA home network then receives the information packet (since the IP address of the Mobile Foreign Agent is topologically the same as the IP addresses of the MFA home network).
After receipt of the information packet, the MFA Home Agent will encapsulate the packeted information with an additional source/destination header before forwarding the packeted information onto the appropriate foreign network or MFA foreign network. The encapsulation of the information packet with source/destination headers must occur for every Mobile Foreign Agent present between the Mobile Node and the foreign network.
The additional header information could become quite extended as more Mobile Foreign Agents are present between the foreign network and the Mobile Node. In fact, after the addition of only a few additional Mobile Foreign Agents, the header information could become greater than the base data size (payload) in the information packet.
It is therefore an objective of the present invention to reduce the size of headers attached to information packets during multiple header encapsulations. This objective will reduce the overall size of the headers transmitted in an information packet thereby reducing the amount of overhead control information. As a result, this invention will increase the net amount of data transmitted with the information packet. This objective is accomplished by two novel methodsxe2x80x94called decapsulation/encapsulation and forwarding. While either novel technique may be used to accomplish the goals of this invention, each technique will eliminate the multiple levels of encapsulation by supporting the tunneling of information packets in the mobile network using a single level of encapsulation.
Under existing protocols (such as RFC 2002), the Foreign Agent in the foreign network will receive an encapsulated information packet for routing. The Foreign Agent processes the data packets by decapsulating the outer source/destination header in the information packet. The Foreign Agent will then transfer the information packet to the next Mobile Foreign Agent or the Mobile Node as identified in the decapsulated destination field of the information packet. Successive decapsulation operations will continue until all the multiple levels of encapsulation are exhausted and the destination field in the information packet identifies the final destination of the Mobile Node. The existing protocols depend on the existence of multiple levels of encapsulation to direct the information packet through the foreign network and the mobile foreign networks.
Because the present invention eliminates multiple levels of encapsulation, novel approaches are used to direct the information packets through the foreign network and mobile foreign networks. Accordingly, the present invention also includes two novel approaches for directing information packets through the foreign and mobile foreign networks with a single level of encapsulation, and these methods are called source routing and next hop routing. As with the encapsulation methods in the present invention, the information packet may be directed through the foreign network and Mobile Foreign Agents using either approach depending on the system requirements.
In this aspect of the invention, the Foreign Agent will use the information found in the internal data structures supported by the source routing or next hop routing schemes to efficiently route information packets to destinations within the foreign network or mobile foreign networks. The Foreign Agent will inspect the data structures used to support source routing and next hop routing much like a routing table to determine if a Mobile Node is already present on another part of the foreign network and mobile foreign networks attached to the Foreign Agent. If the Mobile Node is present, the information packet will be appropriately routed to the Mobile Node without transmitting the information packet outside the networks controlled by the foreign networks. Because the data structures supporting source routing and next hop routing are already available to the Foreign Agent, no modifications to the current system need to be effected apart from the small program alternations needed to search those data structures prior to transmission of information packets out of the network, and routing the information packet appropriately based on the results of that comparison.